package com.br.sae.model.dao;

import java.util.List;

import javax.persistence.Query;

import com.br.sae.conexaobd.SistemaDAO;
import com.br.sae.model.entitys.Administrador;
import com.br.sae.model.entitys.Usuario;

public class UsuarioBD {

	public List<Usuario> consultaUsuario() {
		Query query = SistemaDAO.createNamedQuery("UsuarioBy");
		return query.getResultList();
	}

	public Usuario consultaUsuario(int id_perfil, String tipo) {
		String sql = "SELECT usuario FROM Usuario usuario WHERE usuario.id_perfil= :id_perfil and usuario.tipo_perfil=:tipo";
		Query query = SistemaDAO.createQuery(sql);
		query.setParameter("id_perfil", id_perfil);
		query.setParameter("tipo", tipo);
		return (Usuario) query.getSingleResult();
	}
	
	public Usuario consultaUsuario(String login, String senha) {
		String sql = "SELECT usuario FROM Usuario usuario WHERE usuario.login= :login AND usuario.senha= :senha";
		Query query = SistemaDAO.createQuery(sql);
		query.setParameter("login", login);
		query.setParameter("senha", senha);
		return (Usuario) query.getSingleResult();
	}

	public boolean incluirUsuario(Usuario usuario) {
		try {
			SistemaDAO.persistUsuario(usuario);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}

	public boolean alterarUsuario(Usuario usuario) {
		try {
			SistemaDAO.updateUsuario(usuario);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}

	public boolean removerUsuario(Usuario usuario) {
		try {
			SistemaDAO.removerUsuario(usuario);
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}

}
